package request

import (
	"gitee.com/cjsn/topsdk/util"
)

type TmallServiceSettlementFbBillDetailQueryRequest struct {
	/*
	   提现开始时间（如果设置了开始时间，需要同时设置截止时间）     */
	PayTimeStart *util.LocalTime `json:"pay_time_start,omitempty" required:"false" `
	/*
	   提现截止时间     */
	PayTimeEnd *util.LocalTime `json:"pay_time_end,omitempty" required:"false" `
	/*
	   流水截止时间     */
	BillTimeEnd *util.LocalTime `json:"bill_time_end,omitempty" required:"false" `
	/*
	   分页大小 defalutValue��20    */
	PageSize *int64 `json:"page_size" required:"true" `
	/*
	   流水开始时间（如果设置了开始时间，需要同时设置截止时间）     */
	BillTimeStart *util.LocalTime `json:"bill_time_start,omitempty" required:"false" `
	/*
	   分页页码 defalutValue��1    */
	PageNum *int64 `json:"page_num" required:"true" `
}

func (s *TmallServiceSettlementFbBillDetailQueryRequest) SetPayTimeStart(v util.LocalTime) *TmallServiceSettlementFbBillDetailQueryRequest {
	s.PayTimeStart = &v
	return s
}
func (s *TmallServiceSettlementFbBillDetailQueryRequest) SetPayTimeEnd(v util.LocalTime) *TmallServiceSettlementFbBillDetailQueryRequest {
	s.PayTimeEnd = &v
	return s
}
func (s *TmallServiceSettlementFbBillDetailQueryRequest) SetBillTimeEnd(v util.LocalTime) *TmallServiceSettlementFbBillDetailQueryRequest {
	s.BillTimeEnd = &v
	return s
}
func (s *TmallServiceSettlementFbBillDetailQueryRequest) SetPageSize(v int64) *TmallServiceSettlementFbBillDetailQueryRequest {
	s.PageSize = &v
	return s
}
func (s *TmallServiceSettlementFbBillDetailQueryRequest) SetBillTimeStart(v util.LocalTime) *TmallServiceSettlementFbBillDetailQueryRequest {
	s.BillTimeStart = &v
	return s
}
func (s *TmallServiceSettlementFbBillDetailQueryRequest) SetPageNum(v int64) *TmallServiceSettlementFbBillDetailQueryRequest {
	s.PageNum = &v
	return s
}

func (req *TmallServiceSettlementFbBillDetailQueryRequest) ToMap() map[string]interface{} {
	paramMap := make(map[string]interface{})
	if req.PayTimeStart != nil {
		paramMap["pay_time_start"] = *req.PayTimeStart
	}
	if req.PayTimeEnd != nil {
		paramMap["pay_time_end"] = *req.PayTimeEnd
	}
	if req.BillTimeEnd != nil {
		paramMap["bill_time_end"] = *req.BillTimeEnd
	}
	if req.PageSize != nil {
		paramMap["page_size"] = *req.PageSize
	}
	if req.BillTimeStart != nil {
		paramMap["bill_time_start"] = *req.BillTimeStart
	}
	if req.PageNum != nil {
		paramMap["page_num"] = *req.PageNum
	}
	return paramMap
}

func (req *TmallServiceSettlementFbBillDetailQueryRequest) ToFileMap() map[string]interface{} {
	fileMap := make(map[string]interface{})
	return fileMap
}
